#ifndef __DRI_I2C2_H__
#define __DRI_I2C2_H__

#include "stm32f10x.h"

/**
 * @brief I2C 初始化
 * 
 */
void Dri_I2C2_Init(void);

/**
 * @brief 发送起始信号
 * 
 */
void Dri_I2C2_Start(void);

/**
 * @brief 发送停止信号
 * 
 */
void Dri_I2C2_Stop(void);

/**
 * @brief 发送从设备地址和读写标识
 * 
 * @param addr 从设备地址和读写标识
 */
void Dri_I2C2_TransmitAddress(uint8_t addr);

/**
 * @brief 发送一个字节的数据
 * 
 * @param byte 要发送的字节
 */
void Dri_I2C2_TransmitByte(uint8_t byte);

/**
 * @brief 接收一个应答信号
 * 
 * @return uint8_t 接收到的应答信号，1表示NACK，0表示ACK
 */
uint8_t Dri_I2C2_ReceiveACK(void);

/**
 * @brief 接收一个字节的数据
 * 
 * @return uint8_t 接收到的字节
 */
uint8_t Dri_I2C2_ReceiveByte(void);

/**
 * @brief 发送ACK信号
 * 
 * @param ack 要发送的ACK信号
 */
void Dri_I2C2_TransmitACK(uint8_t ack);

#endif /* __DRI_I2C2_H__ */
